Chaos Communication Congress '97
Hamburg, Eidelstedter Bürgerhaus, 27. - 29.12.1997
Chaos-Knoten

[an error occurred while processing this directive]

IP für Anfänger

Workshop

Referent: Jan H. Haul


Zunächst wurde die Frage gestellt, wozu Netzwerkprotokolle wie TCP/IP eingesetzt werden. Sie dienen zur betriebssystemunabhängigen Datenübertragung zwischen Computern und erfüllen dabei auch noch die Funktionen der Verbindungskontrolle (Hallo? Ist da jemand?), Adressierung (Wo kommt das Datenpaket her, wie groß ist es und wo soll es hin?) und der Fehlerkorrektur. Fortgeschrittene Protokolle beherrschen auch das Routing (Auf welchem Weg kommt das Paket am schnellsten zum Empfänger?).

Die Geschichte der Netzwerkprotokolle wurde kurz abgehandelt. TCP und IP wurden als unabhängiges System von einer kleinen Firma im Auftrag des amerikanischen Militärs entwickelt, nachdem IBM erklärt hatte, ein System mit den geforderten Eigenschafte - das ohne einen Zentralrechner auskommt und ausfallredundant ist - sei technisch unmöglich zu realisieren.

Um zu erklären, auf welche Art ein Netzwerkprotokoll im System integriert ist, wurde das 4-Schichten Modell verwendet.

Die erste und unterste Schicht ist die physikalische Verbindung (der Übertragungsweg oder auch die Linkebene) zwischen den Computern, in den meisten Fällen die eine oder andere Art von Kabel (es kann auch ein Glasfaserstrang oder eine Funkverbindung sein). Diese Verbindungen werden teilweise Aufgrund ihrer Länge und einem damit verbundenen Leistungsverlust durch HUBs oder Repeater verstärkt. Auf dieser Ebene weist das ARP (Address Resolution Protocol) Bezeichnungen für die Netzadapter anhand ihrer 6 Byte langen Hardwareadressen zu. Diese Hardwareadressen sind weltweit einmalig und ermöglichen so die Unterscheidung aller Rechner auf der Welt.

Die zweite Schicht bezeichnet die Art des Netzwerks und die Zugriffsweise der Rechner auf das Netz, also die Art der Zustellung einzelner Pakete. Dies erledigt das IP (Internet Protocol), welches verbindungslos funktioniert und unsicher ist, weil es keine Kontrolle über den Empfang der Daten ermöglicht. Das ICMP (Internet Control Message Protocol) arbeitet ebenfalls auf dieser Ebene. Jeder Rechner hat eine einmalige IP - Nummer, die meist dezimal angegeben wird, im Format xxx.xxx.xxx.xxx, wobei die Werte für xxx zwischen 1 und 254 liegen können.

Anhand des Programms traceroute (Unix) bzw. tracert (Windows) wurde der Aufbau der IP - Pakete und des Paket-Headers (der wie ein Adressaufkleber funktioniert) vorgestellt. Bei traceroute wird ein bestimmter Wert im Header, die "ttl" (Time To Live) auf einen Wert von zunächst eins gesetzt und in einem Paket abgeschickt. Jeder Rechner, der ein Paket erhält, zieht von dieser Lebensspanne 1 ab, um zu verhindern, daß unzustellbare Pakete ewig um die Welt kreisen. Das abgeschickte Paket mit der ttl von 1 wird also von dem ersten Computer, der es empfängt, weggeworfen. Die meisten Rechner schicken dann eine ICMP - Fehlermeldung ab, die auch Informationen über den Router enthält. Im folgenden wird dann die ttl auf 2, 3 usw. erhöht, solange. bis man den Zielrechner erreicht hat. Dann ist der gesamte Netzwerkweg klar.

Die dritte Schicht ist die Art der Absicherung des Transports, also quasi der Rückschein für die abzuliefernden Pakete. Auf dieser Ebene kommen UDP (User Datagramm Protocol) und TCP (Transport Control Protocol) zum Einsatz. UDP kontrolliert nicht, ob die Pakete den Empfänger erreichen. Es bildet die Basis für NFS (Network File System) und DNS (Domain Name Service) sowie einige Netzwerkspiele. Der DNS ist eine verteilte Datenbank, die jeder IP - Nummer einen Namen zuordnet, wie www.ccc.de . Die meisten Verbindungen werden im Internet auf der Basis von TCP aufgebaut, das ein sicher4es Protokoll ist, weil für alle Pakete eine Empfangsbestätigung erwartet wird.

Auf der 4. und obersten Ebene laufen die Applikationen, wie ftp und http. Auf diesen Bereich sollte hier nicht weiter eingegangen werden.

Im weiteren Verlauf wurde noch einmal auf das Routing eingegangen. Zusammen mit der Netzmaske, die mit einem logischen UND mit der IP - Nummer verknüpft wird, können Router die Hostadresse vom Netz, in dem sich der Host befindet, unterscheiden. Es gibt mehrere Routingprotokolle wie z.B. RIP, auf die aber nicht mehr eingegangen werden konnte. Auch das Thema Überlast musste sehr knapp ausfallen, es wurde das Slow-Start-Verfahren vorgestellt, bei dem die Datenübertragungsgeschwindigkeit heruntergesetzt wird, wenn dopplte Bestätigungen (Acks)`eintreffen, um dann langsam wieder zu beschleunigen.

Die Möglichkeiten, die Arbeitsweise des IP und des TCP für Attacken einzusetzen, wurden am Schluß noch kurz angesprochen:

  • Spoofing. Beim Spoofing täuscht ein Rechner eine andere IP - Nummer vor, als er tatsächlich hat.
  • Sniffer. Sie fangen alle Pakete ab, die sie im Netz empfangen können, und zeigen den Inhalt direkt an.
  • Flood ping. Sehr viele Pings in kurzer Zeit.
  • Ping Pakete zu groß.
  • Syn Flooding. Bremst den Zielrechner aus.
  • Einschleusen anderer Daten.
Die Veranstaltung war wesentlich länger als ursprünglich geplant (2,5 h) und sehr gut besucht. Es wurden reichlich Zwischenfragen gestellt und auch beantwortet, so daß der Workshop allen Teilnehmern eine Menge gebracht hat.

Grundlage für umfassende Kenntnis der Protokolle sind die Requests for Comments (rfc), in denen alle Details festgelegt sind. Allerdings benutzen alle Systeme heute die BSD - Implementation der Protokolle, die nicht hundertprozentig den rfc entspricht.

Dieter Kirchner



[ Start | Inhalt | Impressum | Hinweise | Fahrplan ]

Copyleft © 1997 by Chaos Computer Club
Veröffentlichung ausdrücklich erwünscht, Belegexemplar erbeten.